package com.vhall.component.entity.redpacket.vo;


import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * @author shenqing
 * @date 2021/3/3 21:13
 */
@Data
public class RedPacketSettingVO {


    /**
     * 红包支付和剩余金额退还回调通知接口地址
     */
    @NotEmpty(message = "room_id参数不正确")
    @Length(min = 1, max = 255)
    @ParamName("room_id")
    @JsonProperty("room_id")
    private String roomId;
    /**
     * 红包支付和剩余金额退还回调通知接口地址
     */
    @NotEmpty(message = "pay_callback_url参数不正确")
    @Length(min = 1, max = 255)
    @ParamName("pay_callback_url")
    @JsonProperty("pay_callback_url")
    private String payCallbackUrl;

    /**
     * 获得红包回调通知接口地址
     */
    @NotEmpty(message = "get_red_packet_callback_url参数不正确")
    @Length(min = 1, max = 255)
    @ParamName("get_red_packet_callback_url")
    @JsonProperty("get_red_packet_callback_url")
    private String getRedPacketCallbackUrl;

    /**
     * 红包领取超时时间，单位秒
     */
    @ParamName("valid_timeout")
    @JsonProperty("valid_timeout")
    @Min(1)
    @NotNull(message = "valid_timeout参数不正确")
    private Integer validTimeout;

    @JsonIgnore
    @ParamName("private_key")
    private String privateKey;

}
